package mysql.v1;

import java.sql.*;

/**
 *JDBC 增删改操作 CUD
 *
 *JDBC 查询操作 R  --- >MysqlJDBCV1
 *
 */
public class MysqlJDBCV1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    //1.注册驱动-链接对应数据库 -- Mysql5.5驱动器
    Class.forName("com.mysql.jdbc.Driver");
    //2.准备工作:用户名、密码、url -- Java字符串
        String username="root";
        String password="";
        String url=
                "jdbc:mysql://127.0.0.1:3306/mi?characterEncoding=UTF-8";
    //3.链接数据库 -- DriverManager.getConnection();
    //链接成功 --- 返回Connection对象:表示java与数据库链接成功
        Connection con=
                DriverManager.getConnection(url, username, password);
//打桩:测试数据库 是否链接成功,链接成功返回Connection对象
        System.out.println("测试是否链接成功:"+con);

        //4.执行sql 【查询】
        //4.1 Mysql 有库 mi 设置编码集 有表,切记:commit 数据入库
        //4.2 Java
        String sql="select * from book";
        //4.3 Java   执行sql查增改删 -- 链接成功数据库
        //Statement执行 查操作  executeQuery(sqL)
        //                    返回值:ResultSet 结果集对象
        //Statement执行sql  增删改操作  executeUpdate(sqL)
        //                  返回值:int,记录成功多少条
        Statement st=con.createStatement();
        ResultSet rs=st.executeQuery(sql);


        //5 查询【book表】ResultSet 对象提供 next()依次获取字段下记录【数据】
        // book表 -- 字段7个 -- while 循环拿所有字段以及记录数
        // 看数据 -- ResultSet结果集 -- 取 -- 字段下记录
        while(rs.next()){
        //显示字段下记录
        //getInt()取出数据库中 int类型的字段
        // mysql  int类型  java int类型
        int id=rs.getInt( "id");
        //mysql varchar类型 java String类型
        String author=rs.getString ("author");
        String name=rs.getString( "name");
        int price=rs.getInt( "price");
        String date=rs.getString ("date");
        int number=rs.getInt( "number");
        String discount=rs.getString ("discount");

            System.out.println(name);
        }
    }
}
